Self-Replicating Objects for Multicore Platforms
نویسندگان
چکیده
The paper introduces Self-Replicating Objects (SROs), a new concurrent programming abstraction. An SRO is implemented and used much like an ordinary .NET object and can expose arbitrary user-defined APIs, but it is aggressive about automatically exploiting multicore CPUs. It does so by spontaneously and transparently partitioning its state into a set of replicas that handle method calls in parallel and automatically merging replicas before processing calls that cannot execute in the replicated state. Developers need not be concerned about protecting access to shared data; each replica is a monitor and has its own state. The runtime ensures proper synchronization, scheduling, decides when to split/merge, and can transparently migrate replicas to other processes to decrease contention. Compared to threads/locks or toolkits such as .NET Parallel Extensions, SROs offer a simpler, more versatile programming model while delivering comparable, and in some cases even higher performance.
منابع مشابه
Mixed Criticality on Multicore / Manycore Platforms
This report provides an overview of the discussions, the program and the outcomes of the second Dagstuhl Seminar on Mixed Criticality on Multicore/Manycore Platforms. The seminar brought together researchers working on mixed criticality real-time applications, industrialists from the aerospace, railway, and automotive industries, and experts in certification. Seminar March 26–31, 2017 – http://...
متن کاملReal-Time Performance and Middleware on Multicore Linux Platforms
An increasing number of distributed real-time applications are running on multicore platforms. However, existing real-time middleware (e.g., Real-Time CORBA) lacks support for scheduling soft real-time tasks on multicore platforms while guaranteeing their time constraints will be satisfied. This paper makes three contributions to the state of the art in real-time system software for multicore p...
متن کاملTowards the Integration of Theory and Practice in Multiprocessor Real-Time Scheduling
Nowadays, multicore and multiprocessor platforms are the standard computing platforms for desktop and server systems. Manufacturers of traditionally uniprocessor embedded systems are also shifting towards multicore platforms. This deeply influences the design of real-time systems, where timing constraints must be met. In the industrial world, the design of such systems largely relies on porting...
متن کاملHigh Performance Computing Applications Using Parallel Data Processing Units
Multicore processors are growing with respect to the number of cores on a chip. In a parallel computation context, multicore platforms have several important features such as exploiting multiple parallel processes, having access to a shared memory with noticeably lower cost than the distributed alternative and optimizing different levels of parallelism. In this paper, we introduce the Parallel ...
متن کاملKohonen Self Organizing for Automatic Identification of Cartographic Objects
Automatic identification and localization of cartographic objects in aerial and satellite images have gained increasing attention in recent years in digital photogrammetry and remote sensing. Although the automatic extraction of man made objects in essence is still an unresolved issue, the man made objects can be extracted from aerial photos and satellite images. Recently, the high-resolution s...
متن کامل